// app.js
import {getLoginUser} from "./service/user";
import {env} from "./env/env";
import {getSite} from "./service/site";

App({
    onLaunch() {
        // 当前站点信息
        getSite(true, {app:this})
        // 获取登录信息
        getLoginUser(true,{app: this})

    },
    globalData: {
        site:null,
        user: null,
        getLoginUserComplete:true,
        getSiteComplete:true,
        imageUrl: env.host, //线上图片地址前缀
        apiUrl: env.host + '/api', //线上接口http
        areaTreeAll:null,
        share_uid:0,
    },

    // 监听全局变量变化
    watch: function (variate, method) {
        let obj = this.globalData
        let val = obj[variate];// 单独变量来存储原来的值
        Object.defineProperty(obj, variate, {
            configurable: true,
            enumerable: true,
            set: (value) => {
                console.log("global-watch-set")
                val = value// 重新赋值
                method(variate,value);// 执行回调方法
            },
            get: () => {
                // 在其他界面调用getApp().global.variate的时候，这里就会执行。
                return val // 返回当前值
            }
        })
    },
})
